/**
 * 
 */
package net.microlinktech.testing.ui.table.renderer;

import com.jidesoft.converter.ConverterContext;
import com.jidesoft.grid.Property;

/**
 * @author gonglei
 * 
 */
public class BasicProperty extends Property {

    private static final long serialVersionUID = 1L;

    private Object value;

    @SuppressWarnings({ "rawtypes", "unchecked" })
    public BasicProperty(String name, String description, Class type, String category,
            ConverterContext context, java.util.List childProperties) {
        super(name, description, type, category, context, childProperties);
    }

    @SuppressWarnings("rawtypes")
    public BasicProperty(String name, String description, Class type, String category,
            ConverterContext context) {
        super(name, description, type, category, context);
    }
    
    @SuppressWarnings("rawtypes")
    public BasicProperty(String name, String description, Class type, String category ) {
        super(name, description, type, category );
    }

    @SuppressWarnings("rawtypes")
    public BasicProperty(String name, String description, Class type, String category, Object value) {
        super(name, description, type, category);
        this.value = value;
    }

    @SuppressWarnings("rawtypes")
    public BasicProperty(String name, String description, Class type, String category, boolean isEditable) {
        super(name, description, type, category);
        this.setEditable(isEditable);
    }

    @SuppressWarnings("rawtypes")
    public BasicProperty(String name, Class type, String category, boolean isEditable) {
        this(name, "", type, category, isEditable);
    }

    @SuppressWarnings("rawtypes")
    public BasicProperty(String name, Class type, String category) {
        this(name, type, category, false);
    }

    @SuppressWarnings("rawtypes")
    public BasicProperty(String name, String description, Class type) {
        super(name, description, type);
    }

    public BasicProperty(String name, String description) {
        super(name, description);
    }

    public BasicProperty(String name) {
        super(name);
    }

    @Override
    public void setValue(Object value) {
        this.value = value;
    }

    @Override
    public Object getValue() {
        return value;
    }

    @Override
    public boolean hasValue() {
        return true;
    }

}
